Various electro-optical systems have been developed for reading optical indicia, such as bar codes. A bar code is a coded pattern of graphical indicia comprised of a series of bars and spaces having differing light reflecting characteristics. The pattern of the bars and spaces encode information. In certain bar codes, there is a single row of bars and spaces, typically of varying widths. Such bar codes are referred to as one dimensional (1D) bar codes. Other bar codes include multiple rows of bars and spaces, each row typically having the same width. Such bar codes are referred to as two dimensional (2D) bar codes.
Imaging systems include charge coupled device (CCD) arrays, complementary metal oxide semiconductor (CMOS) arrays, or other imaging pixel arrays having a plurality of photosensitive elements or pixels. An illumination system comprising light emitting diodes (LEDs) or other light source directs illumination toward a target object, e.g., a target bar code. Light reflected from the target bar code is focused through a lens of the imaging system onto the pixel array. Thus, an image of a field of view of the focusing lens is focused on the pixel array. Periodically, the pixels of the array are sequentially read out generating an analog signal representative of a captured image frame. The analog signal is amplified by a gain factor and the amplified analog signal is digitized by an analog-to-digital converter. Decoding circuitry of the imaging system processes the digitized signals and decodes the imaged bar code.
Efficient decoding of text has been more difficult than decoding of bar code symbols. Unlike flatbed scanners, which usually have perfect focus, perfect illumination, hand held bar code scanners are prone to blurry images, distortion, uneven illumination etc. at least compared to the images from a stationary flatbed scanner. Current existing methods of formatting text involves either scanning a representing barcode for each character, or providing a regular expression of the format of the characters to be read by the bar code reader. The first method is error prone and the second requires a well trained user to provide an appropriate regular expression as a template.
OCR A, OCR B and MICR are standardized, monospaced fonts designed for “Optical Character Recognition” on electronic devices. OCR A was developed to meet the standards set by the American National Standards Institute in 1966 for the processing of documents by banks, credit card companies and similar businesses. This font was intended to be “read” by scanning devices, and not necessarily by humans.
OCR B was designed in 1968 to meet the standards of the European Computer Manufacturer's Association. It was intended for use on products that were to be scanned by electronic devices as well as read by humans. OCR B was made a world standard in 1973, and is more legible to human eyes than most other OCR fonts.
MICR is a character recognition technology adopted mainly by the banking industry to facilitate the processing of cheques. The major MICR fonts used around the world are E-13B and CMC-7. Almost all US and UK cheques now include MICR characters at the bottom of the paper in the E-13B font. Some countries, including France, use the CMC-7 font developed by Bull. Other fonts have been developed and are known in the optical character recognition art.